﻿#region Using

using System.Collections.Generic;

using Common.Base;

using CommunicationLibrary.TransportData;

using GameLogic.External;

using ServerApplication.Networking;

#endregion

namespace ServerApplication.Interfaces
{
    public interface IGameSessionManager
    {
        void PublishGameState(GameState gameState, IEnumerable<ServerPlayer> players);

        void PublishPlayerLoose(Identifiable looser, IEnumerable<Identifiable> receiver);

        void HandleGameOver(IGame game, Identifiable winner, GameSession.GameSession sender);

        void HandleGameResumed(List<ServerPlayer> players);

        void HandleGamePaused(List<ServerPlayer> players);
    }
}